#include <pthread.h>
#include <stdio.h>
#include<iostream>
#include<string>
#include <stdlib.h>
#include<unistd.h>
using namespace std;

size_t flag=100;

string FormatTid(const pthread_t& tid)
{
    char buffer[64];
    snprintf(buffer,sizeof(buffer),"0x%lx",tid);
    return buffer;
}
void* thread_func(void *arg) {
    string name=static_cast<char*>(arg);
    pthread_t tid=pthread_self();
    
    while(true)
    {
        cout<<"我是一个新线程，我的名字是："<<name<<"::我的tid:"<<FormatTid(tid)<<endl;
        flag++;
        sleep(1);
    }  
    return nullptr;
}

int main() {
    pthread_t tid;
    pthread_create(&tid,nullptr,thread_func,(void*)("pthread-1"));
    while(true)
    {
        cout<<"我是主线程,我的名字是main pthread，我的tid:"<<FormatTid(pthread_self())<<",flag:"<<flag<<endl;
        sleep(1);
    }
   
    
    return 0;
}